In a typical business enterprise there is an enormous amount of data that has to be managed to deliver to the consumer the goods and services produced by the enterprise. For example, a retailer may have data about products, customers, costs, suppliers and the like. A university may have data about students, enrollment, course offerings, grades, etc. A financial services company may have information about customers, accounts, loans, insurance, insured assets, etc. Business enterprises need to manage all of the data in the organization irrespective of where it resides. Problems arise when the data resides in disparate databases, on multiple platforms, or different operating systems. Compounding the problem is the way information systems in business enterprises evolve over time. Naming conventions, product coding, and the actual representation of the data in the data elements may be different on different systems. Numerous systems and methods have been developed to provide the enterprise with the ability to integrate data across systems. See e.g. “Three Decades of Data Integration—All Problems Solved?” Patrick Ziegler and Klaus R. Dittrich, Database Technology Research Group, Department of Informatics, University of Zurich, Winterthurerstrasse 190, CH-8057 Zurich, Switzerland (2004). It is recognized that the integration of data that is described by different data models or heterogeneous semantics or syntax make the challenge of data integration more difficult.
For example, in a financial services enterprise that provides consumers with various distinct services there may be data collected in various systems using related schemas but different semantics and/or syntax. One system may support the auto insurance business of the enterprise and the other may support the auto loan business of the enterprise. An example of the different syntax for the same vehicle would be: one system describing the vehicle as <CHEV SUBURBA 1500 UTIL 4X2>; and the other system describing the vehicle as <CHEVY SUBRUBAN>. The data is directed to the same vehicle (i.e. the same semantics) but use different syntax. Further complicating matters is that the data may be directed to different vehicles thereby creating possible confusion if the data were interchanged. An example of data with different semantics may be data in a field <COUNTY> which in one system may be the county where the vehicle is garaged (for insurance purposes), while in the other system it may be the county where the vehicle is titled.
Users within a business enterprise typically use a database management system (DBMS) to access the data, and the data is collected and structured in a database. Examples of commercially available DBMS include dBase, Paradox, IMS, and Oracle. A DBMS allows users to create, update, and extract information from their databases.
In a typical database, data is structured in a hierarchical arrangement. A unit of data stored in a field is a data item. A field is the physical storage unit of the data item, and a data element is a logical definition of data. Examples of data elements would include NAME, ADDRESS, etc. The data element NAME exists only once, and is stored in the <NAME> field in each record. A record is a group of related fields that store data about a subject. For example, a record may include the fields <NAME>, <ADDRESS>, <VEHICLE MAKE>, <VEHICLE YEAR>, <VEHICLE MODEL>, . . . etc. Each record comprises a number of fields and no two fields in a record can have the same field name.
Some DBMS store related records in a table. An example of a table may be a customer table having the names and addresses of the customers of an enterprise. A table may be visualized as follows:
CUSTOMERSCUST_GIVEN_NONAMESURNAMESTREET_ADDRCITYSTATE00001JohnDoe1234 Main StreetHoustonTX00120JaneSmith5555 BroadwayAustinTX00034PabloPerez1010 SW 8th STMiamiFL
The table is made up of a number of records, each record having a number of fields, each field having a unique field name.
Electronic commerce (e-commerce) has resulted in an increased need for data integration across enterprise systems. E-commerce comprises the distribution, purchase, sale, marketing, and servicing of products or services over a network such as the Internet. E-commerce provides some advantages to the “brick and mortar” style of commerce. For example, an e-commerce site implemented as a web site may lower transaction costs by automating the order and order fulfillment processes. To be successful, web sites must provide an easy, reliable and secure way for customers to exchange information and order the goods and services. Providing a seamless view of the customer relationship, so that the customer and customer service representaives have the same view, of the customer is also considered important to having a user friendly electronic commerce site. An e-commerce web site may be integrated into the enterprise systems to offer customers more information such as order status, and delivery tracking. The challenge for e-commerce web site operators is to provide data to the customer or user that may be derived from multiple enterprise systems.
One need for this kind of data integration is to make a web page more “user friendly” to customers. For example, in a business enterprise that offers various financial services to customers, the service offerings at a web site may include the financing of a loan to purchase the car and the sale of a contract of insurance for the car. For each of those transactions there is a common set of data elements that may be used by systems in the sales operation, the financing operation and the insurance operation. For example, the CUSTOMER NAME, ADDRESS, the VEHICLE, VEHICLE PURCHASE PRICE, VEHICLE LOCATION. Ideally, the customer should not be required to enter that information more than once, rather the server receiving the data from the customer should be able to make use of the common data and integrate the data in the different systems. In the same business enterprise, if the customer has obtained an auto loan from the financing operation of the enterprise and makes an inquiry about insurance for that vehicle, the information relating to the vehicle should be available to the customer service representative so that the customer does not have to provide the same information multiple times.
Existing systems have not provided the degree of integration required for effective e-commerce web sites in cases where the enterprise offering services through the site operates though multiple business units or with multiple data systems. Consequently, there is a need to improve the customer self service features of e-commerce web sites by providing the customer access to data contained in multiple systems of an enterprise. Similarly, there is a need to enhance the productivity of customer service representatives by providing the customer service representatives with access to data about a customer that may be maintained in different systems and/or in different business units.